// 二次封装axios 拦截器

import axios from 'axios'
// import {baseUrl} from '@/config/index'
import {getToken} from '@/api/userToken'
// import {getToken} from '@/api/data'
// 设置配置 根据开发 和 生产环境不一样 
// const baseUrl = process.env.NODE_ENV === 'development' ? config.baseUrl.dev : config.baseUrl.pro
// class HttpRequst {
//   constructor(baseUrl) {
//     this.baseUrl = baseUrl
//   }
//   getInsideConfig () {
//     const config = {
//       baseURL: this.baseUrl,
//       header: {

//       }
//     }
//     return config
//   }
//   interceptors (instance) {
//     instance.interceptors.request.use(function (config) {
//       // 在发送请求之前做些什么
//       console.log('拦截处理请求');
//       return config;
//     }, function (error) {
//       // 对请求错误做些什么
//       return Promise.reject(error);
//     });

//     instance.interceptors.response.use(function (response) {
//       console.log('处理相应');
//       // 对响应数据做点什么
//       return response.data;
//     }, function (error) {
//       // 对响应错误做点什么
//       return Promise.reject(error);
//     });
//   }
//   // {
//   //   baseURL:'/rApi'
//   // }
//   request (options) {
//     // 请求
//     // /api/getList  /api/getHome
//     const instanse = axios.create()
//     // 技巧
//     // /api // api1
//     options = { ...(this.getInsideConfig()), ...options }
//     // console.log(options);
//     this.interceptors(instanse)
//     return instanse(options)
//   }
// }
const instance = axios.create({
  // baseURL:'http://localhost:8000',
  baseURL: 'http://localhost:8000',
  timeout: 5000,
})

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  let token = getToken()
  if(token){
    config.headers['Authorzation'] = 'Bearer' + token
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response.data;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error);
});



// export default new HttpRequst(baseUrl)
export default instance
